package ru.compft.common.services;

import org.springframework.transaction.annotation.Transactional;
import ru.compft.common.data.Setting;

import java.util.List;

/**
 * User: VVasiliev
 * Date: 06.08.12
 * Time: 11:37
 * По умолчанию все методы только для чтения
 */
@Transactional(readOnly = true)
public interface SystemService {
    /**
     * Системное свойство - Использовать кеш
     *
     * @return
     */
    boolean isUseCache();

    /**
     * Системное свойство - Количество выводимых записей таблицы на одной странице
     *
     * @return
     */
    int maxRecordsPerPage();

    /**
     * Список системных свойств от определенного индекса (from) и определенного количества (count)
     * , без каких либо ограничений
     *
     * @param from
     * @param count
     * @return
     */
    List<Setting> getSettings(int from, int count);

    /**
     * Подсчитываем все системные свойств в системе, без каких либо ограничений
     *
     * @return
     */
    int countAllSettings();
}
